Currently there are two operating satellite based positioning systems, the American system GPS (Global Positioning System) and the Russian system GLONASS (Global Orbiting Navigation Satellite System). In the future, there will be moreover a European system called GALILEO. A general term for these systems is GNSS (Global Navigation Satellite System).
For GPS, for example, more than 20 satellites orbit the earth. Each of the satellites transmits two carrier signals L1 and L2. One of these carrier signals L1 is employed for carrying a navigation message and code signals of a standard positioning service (SPS). The L1 carrier phase is modulated by each satellite with a different C/A (Coarse Acquisition) code. Thus, different channels are obtained for the transmission by the different satellites. The C/A code is a pseudo random noise (PRN) code, which is spreading the spectrum over a nominal bandwidth of 20.46 MHz. It is repeated every 1023 bits, the epoch of the code being 1 ms. The bits of the C/A code are also referred to as chips. The carrier frequency of the L1 signal is further modulated with navigation information at a bit rate of 50 bit/s. The navigation information comprises in particular a timestamp indicating the time of transmission and ephemeris parameters. Ephemeris parameters describe short sections of the orbit of the respective satellite. Based on these ephemeris parameters, an algorithm can estimate the position of the satellite for any time while the satellite is in the respective described section.
A GPS receiver of which the position is to be determined receives the signals transmitted by the currently available satellites, and it detects and tracks the channels used by different satellites based on the different comprised C/A codes. For the acquisition and tracking of a satellite signal, a signal received by a radio frequency (RF) portion of the GPS receiver is first converted into the baseband. In a baseband portion, frequency errors, for instance due to the Doppler effect, are removed by a mixer. Then, the signal is correlated with replica codes that are available for all satellites. The correlation can be performed for example using a matched filter. The correlation values can further be integrated coherently and/or incoherently in order to increase the sensitivity of the acquisition. A correlation value exceeding a threshold value indicates the C/A code and the code phase, which are required for dispreading the signal and thus to regain the navigation information.
Then, the receiver determines the time of transmission of the code transmitted by each satellite, usually based on data in the decoded navigation messages and on counts of epochs and chips of the C/A codes. The time of transmission and the measured time of arrival of a signal at the receiver allow determining the time of flight required by the signal to propagate from the satellite to the receiver. By multiplying this time of flight with the speed of light, it is converted to the distance, or range, between the receiver and the respective satellite.
The computed distances and the estimated positions of the satellites then permit a calculation of the current position of the receiver, since the receiver is located at an intersection of the ranges from a set of satellites.
Similarly, it is the general idea of GNSS positioning to receive satellite signals at a receiver which is to be positioned, to measure the time it took the signals to propagate from an estimated satellite position to the receiver, to calculate therefrom the distance between the receiver and the respective satellite and further the current position of the receiver, making use in addition of the estimated positions of the satellites.
A GPS positioning can be performed in three different positioning modes. The first mode is a standalone GPS based positioning. This means that the GPS receiver receives signals from GPS satellites and calculates from these signals its position without any additional information from other sources. The second mode is a network-assisted mobile station based GPS (AGPS) positioning. For this mode, the GPS receiver may be associated to a mobile communication device. The GPS receiver can be integrated into the mobile communication device or be an accessory for the mobile communication device. A mobile communication network provides assistance data, which is received by the mobile communication device and forwarded to the GPS receiver to improve its performance. Such assistance data can be for example at least ephemeris, position and time information. The positioning calculations are performed also in this case in the GPS receiver. The third mode is a network-based mobile station assisted GPS positioning. For this mode, the GPS receiver is associated as well to a mobile communication device. In this mode, a mobile communication network provides at least acquisition assistance and time information via the mobile communication device to the GPS receiver for supporting the measurements. The measurement results are then provided via the mobile communication device to the mobile communication network, which calculates the position. The second and the third approach are also referred to in common as assisted-GPS (AGPS).
Due to the different kind of information that has to be processed in the receiver in the different modes, conventional receivers support either only one of these modes, or they support a switching between these modes.
A conventional GPS receiver for a standalone GPS based positioning or an assisted standalone GPS based positioning comprises a single functional entity for performing the measurements, for controlling the measurements and for performing the positioning calculations. Performing the measurements is based at least partly on hardware, while controlling the measurements and for performing the positioning calculations is at least partly realized in software. This situation is illustrated in FIG. 1, which is a schematic block diagram of a satellite based positioning system.
The system comprises a mobile phone 10, a GPS satellite 11 and a base station 12 of a GSM network or of any other cellular network. The mobile phone 10 includes a GPS receiver 13. The GPS receiver 13 comprises an RF component 14 and a measurement and positioning component 15. The RF component 14 and the measurement and positioning component 15 can be implemented for example on separate chips or on a single chip. The mobile phone 10 further includes a cellular engine 16, that is, a module comprising all components required for a conventional mobile communication between the mobile phone 10 and the mobile communication network. The cellular engine 16 runs moreover converting software 17 that is adapted to convert assistance data provided by the base station 12 for use by the GPS receiver 13.
The assistance data protocols between the cellular engine 16 and different types of communication networks have been standardized and are already in use. More specifically, the Radio Resource Location services Protocol (RRLP) is used for Global System for Mobile communications (GSM) based networks, the Radio Resource Control (RRC) protocol is used for Wideband Code Division Multiple Access (WCDMA) based networks and the IS-801 protocol is used for Code Division Multiple Access (CDMA) based networks. These protocols are typically not supported in proprietary interfaces between a cellular engine 16 and a GPS receiver 13. Instead, the cellular engine 16 has to have the software 17 for converting the data provided in a network protocol into a suitable format.
More specifically, each GPS hardware vendor has specified a proprietary interface of its own for the interface between the GPS receiver 13 and the cellular engine 16. Typically, these interfaces are using the standard National Marine Electronics Association (NMEA) protocol for standalone GPS functionality and/or vendor specific messages for accessing more detailed information about the GPS receiver and/or specific messages to provide assistance data from the network to the GPS receiver for an AGPS functionality. Examples for these vendor specific formats are, for instance, the cellular modem interface by Texas Instruments and the GPS interface by Motorola.
Document U.S. Pat. No. 6,542,823 B2 describes a server which transmits data back and forth between a call processor sector and a GPS client.
Document WO 2004/107092 A1 describes the use of a translator in an interface between a call processor of a mobile device and a GPS module of a mobile device. The translator translates a protocol used for providing assistance data to the mobile device into an independent protocol used by the GPS module.
With the conventional GPS receivers, it is difficult to evaluate the true performance of the GPS measurement hardware. Equally, it is difficult to change from one GPS measurement hardware to another without extensive work on the software. Also an implementation of hybrid positioning solutions, using for example cellular network measurement data or motion sensor data, is rendered difficult.